# 阶段1：构建

# 构建环境 使用 Maven 官方镜像
FROM maven:3.9.6-eclipse-temurin-21 AS builder
# 设置工作目录
WORKDIR /app
LABEL authors="fkc"
# 复制 pom.xml 文件
COPY  pom.xml .
RUN mvn dependency:go-offline
# 复制源代码
COPY src ./src
# 构建应用（跳过测试，生产环境应移除 -DskipTests）
RUN mvn package -DskipTests

# 阶段2：运行环境
FROM eclipse-temurin:21-jre-alpine
# 设置容器时区（解决日志时间戳问题）
ENV TZ=Asia/Shanghai
RUN apk add --no-cache tzdata && \
    ln -sf /usr/share/zoneinfo/$TZ /etc/localtime
# 设置工作目录
WORKDIR /app
# 从构建阶段复制 JAR 文件
COPY --from=builder /app/target/*.jar app.jar
# 设置非 root 用户（安全加固）
RUN addgroup -S hanSoul && adduser -S han -G hanSoul
USER han

EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
